2025-03-04 18:10:36,288 - INFO - Num classes: 3
2025-03-04 18:16:22,329 - INFO - Class weights: tensor([0.5161, 4.2842, 1.2065], device='cuda:0')
2025-03-04 18:16:22,337 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-03-04 18:16:22,337 - INFO - Using cuda device
2025-03-04 18:25:38,510 - INFO - Epoch: 0/100. Training time: 367.488
2025-03-04 18:25:38,512 - INFO - Training Metrics...
2025-03-04 18:25:38,513 - INFO - {'loss': 1.0905720912493193, 'f1': 30.499226386058126, 'acc': 43.048328856783094, 'precision': 37.13444491853154, 'recall': 37.44480633590639, 'balanced acc': 37.44480633590639}
2025-03-04 18:25:38,513 - INFO - Validation Metrics... Inference time: 188.674
2025-03-04 18:25:38,513 - INFO - {'loss': 1.0122135364556615, 'f1': 34.915234662751956, 'acc': 49.749514619930245, 'precision': 39.9818273140214, 'recall': 42.43398319387971, 'balanced acc': 42.43398319387971}
2025-03-04 18:25:38,513 - INFO - ==================================================
2025-03-04 19:10:11,148 - INFO - Epoch: 5/100. Training time: 346.181
2025-03-04 19:10:11,151 - INFO - Training Metrics...
2025-03-04 19:10:11,152 - INFO - {'loss': 1.0088458641981468, 'f1': 37.528020616947956, 'acc': 55.115582891810575, 'precision': 43.28930820438087, 'recall': 46.094376970237924, 'balanced acc': 46.094376970237924}
2025-03-04 19:10:11,152 - INFO - Validation Metrics... Inference time: 184.465
2025-03-04 19:10:11,152 - INFO - {'loss': 0.9456644767447363, 'f1': 43.65323719856268, 'acc': 60.69637407969517, 'precision': 50.7577079500241, 'recall': 48.789065805407446, 'balanced acc': 48.789065805407446}
2025-03-04 19:10:11,152 - INFO - ==================================================
2025-03-04 19:54:31,334 - INFO - Epoch: 10/100. Training time: 347.485
2025-03-04 19:54:31,337 - INFO - Training Metrics...
2025-03-04 19:54:31,337 - INFO - {'loss': 0.9903672429231497, 'f1': 45.04946238967879, 'acc': 62.630131680075884, 'precision': 46.332608471096606, 'recall': 48.442186476611695, 'balanced acc': 48.442186476611695}
2025-03-04 19:54:31,337 - INFO - Validation Metrics... Inference time: 185.255
2025-03-04 19:54:31,337 - INFO - {'loss': 0.9224140621438811, 'f1': 36.47853984945317, 'acc': 57.91762363568845, 'precision': 51.393462980597334, 'recall': 40.290279609303695, 'balanced acc': 40.290279609303695}
2025-03-04 19:54:31,337 - INFO - ==================================================
2025-03-04 20:38:56,273 - INFO - Epoch: 15/100. Training time: 346.039
2025-03-04 20:38:56,275 - INFO - Training Metrics...
2025-03-04 20:38:56,275 - INFO - {'loss': 0.9546123131727561, 'f1': 47.82512147451712, 'acc': 62.908906801903456, 'precision': 48.68082461966697, 'recall': 51.090955633060496, 'balanced acc': 51.090955633060496}
2025-03-04 20:38:56,275 - INFO - Validation Metrics... Inference time: 184.242
2025-03-04 20:38:56,275 - INFO - {'loss': 0.8971944021273263, 'f1': 33.56328598481204, 'acc': 57.32139325271248, 'precision': 51.411389392629836, 'recall': 38.78774442167, 'balanced acc': 38.78774442167}
2025-03-04 20:38:56,276 - INFO - ==================================================
2025-03-04 21:23:12,092 - INFO - Epoch: 20/100. Training time: 347.702
2025-03-04 21:23:12,095 - INFO - Training Metrics...
2025-03-04 21:23:12,095 - INFO - {'loss': 0.9381174552134979, 'f1': 52.169752543729956, 'acc': 64.196144954376, 'precision': 53.845608411537484, 'recall': 59.41963769153127, 'balanced acc': 59.41963769153127}
2025-03-04 21:23:12,095 - INFO - Validation Metrics... Inference time: 184.606
2025-03-04 21:23:12,095 - INFO - {'loss': 0.9585224382485016, 'f1': 42.24731188481629, 'acc': 62.45554887303022, 'precision': 51.54817577284751, 'recall': 44.76608980414573, 'balanced acc': 44.76608980414573}
2025-03-04 21:23:12,095 - INFO - ==================================================
2025-03-04 22:07:32,661 - INFO - Epoch: 25/100. Training time: 347.017
2025-03-04 22:07:32,663 - INFO - Training Metrics...
2025-03-04 22:07:32,664 - INFO - {'loss': 0.9197526681117523, 'f1': 51.90559567655752, 'acc': 62.38875057234433, 'precision': 54.93195787379741, 'recall': 59.22956774149003, 'balanced acc': 59.22956774149003}
2025-03-04 22:07:32,664 - INFO - Validation Metrics... Inference time: 186.565
2025-03-04 22:07:32,664 - INFO - {'loss': 1.0160111113439632, 'f1': 42.85609385473176, 'acc': 49.254876001033324, 'precision': 46.401917281778815, 'recall': 45.5203450755673, 'balanced acc': 45.5203450755673}
2025-03-04 22:07:32,664 - INFO - ==================================================
2025-03-04 22:52:05,031 - INFO - Epoch: 30/100. Training time: 352.718
2025-03-04 22:52:05,033 - INFO - Training Metrics...
2025-03-04 22:52:05,034 - INFO - {'loss': 0.8507866660753886, 'f1': 57.54534065702903, 'acc': 66.8544671474359, 'precision': 59.9800586148423, 'recall': 67.1083157372924, 'balanced acc': 67.1083157372924}
2025-03-04 22:52:05,034 - INFO - Validation Metrics... Inference time: 189.615
2025-03-04 22:52:05,034 - INFO - {'loss': 0.7883388958399808, 'f1': 60.882401560723345, 'acc': 66.91284652706018, 'precision': 63.34571479780809, 'recall': 64.23175899263629, 'balanced acc': 64.23175899263629}
2025-03-04 22:52:05,034 - INFO - ==================================================
2025-03-04 23:36:35,130 - INFO - Epoch: 35/100. Training time: 347.252
2025-03-04 23:36:35,133 - INFO - Training Metrics...
2025-03-04 23:36:35,133 - INFO - {'loss': 0.8272655010223389, 'f1': 60.69001367508453, 'acc': 71.39393693174384, 'precision': 61.414053610200746, 'recall': 68.78902215096122, 'balanced acc': 68.78902215096122}
2025-03-04 23:36:35,133 - INFO - Validation Metrics... Inference time: 183.265
2025-03-04 23:36:35,133 - INFO - {'loss': 0.8183709428280215, 'f1': 61.09658661109157, 'acc': 66.19913095776285, 'precision': 62.0774906283954, 'recall': 64.08166200799825, 'balanced acc': 64.08166200799825}
2025-03-04 23:36:35,134 - INFO - ==================================================
2025-03-05 00:20:51,017 - INFO - Epoch: 40/100. Training time: 350.745
2025-03-05 00:20:51,019 - INFO - Training Metrics...
2025-03-05 00:20:51,020 - INFO - {'loss': 0.7686341145099738, 'f1': 60.2350928204532, 'acc': 72.48854544822737, 'precision': 61.12538436234186, 'recall': 70.47704534713205, 'balanced acc': 70.47704534713205}
2025-03-05 00:20:51,020 - INFO - Validation Metrics... Inference time: 183.029
2025-03-05 00:20:51,020 - INFO - {'loss': 0.8392307909229134, 'f1': 58.95805615221901, 'acc': 64.47474509978042, 'precision': 60.13980508390247, 'recall': 62.09867151178865, 'balanced acc': 62.09867151178865}
2025-03-05 00:20:51,020 - INFO - ==================================================
2025-03-05 01:05:10,501 - INFO - Epoch: 45/100. Training time: 350.002
2025-03-05 01:05:10,503 - INFO - Training Metrics...
2025-03-05 01:05:10,503 - INFO - {'loss': 0.7961706549693377, 'f1': 59.48008748703969, 'acc': 70.2016082875458, 'precision': 60.50052660142353, 'recall': 68.23501253870855, 'balanced acc': 68.23501253870855}
2025-03-05 01:05:10,503 - INFO - Validation Metrics... Inference time: 184.066
2025-03-05 01:05:10,504 - INFO - {'loss': 0.8080192276194126, 'f1': 61.20249612686616, 'acc': 65.8312360743348, 'precision': 63.82282362746816, 'recall': 65.2888430860207, 'balanced acc': 65.2888430860207}
2025-03-05 01:05:10,504 - INFO - ==================================================
2025-03-05 01:49:38,641 - INFO - Epoch: 50/100. Training time: 348.576
2025-03-05 01:49:38,643 - INFO - Training Metrics...
2025-03-05 01:49:38,644 - INFO - {'loss': 0.7914685545823513, 'f1': 59.20915249804288, 'acc': 69.2100856267988, 'precision': 59.208797306942614, 'recall': 67.39113422058051, 'balanced acc': 67.39113422058051}
2025-03-05 01:49:38,644 - INFO - Validation Metrics... Inference time: 183.791
2025-03-05 01:49:38,644 - INFO - {'loss': 0.7755534686619723, 'f1': 58.86693492150473, 'acc': 68.66470530063292, 'precision': 60.64138711463411, 'recall': 58.55294488221065, 'balanced acc': 58.55294488221065}
2025-03-05 01:49:38,644 - INFO - ==================================================
2025-03-05 02:34:03,897 - INFO - Epoch: 55/100. Training time: 348.141
2025-03-05 02:34:03,899 - INFO - Training Metrics...
2025-03-05 02:34:03,900 - INFO - {'loss': 0.7504321397879185, 'f1': 61.620827844800715, 'acc': 73.15448339792647, 'precision': 62.68221877158988, 'recall': 70.2532545301019, 'balanced acc': 70.2532545301019}
2025-03-05 02:34:03,900 - INFO - Validation Metrics... Inference time: 185.503
2025-03-05 02:34:03,900 - INFO - {'loss': 0.9851352730883828, 'f1': 52.61544666331307, 'acc': 54.237186369801094, 'precision': 62.716065017165036, 'recall': 59.306901122580456, 'balanced acc': 59.306901122580456}
2025-03-05 02:34:03,900 - INFO - ==================================================
2025-03-05 03:18:25,839 - INFO - Epoch: 60/100. Training time: 345.836
2025-03-05 03:18:25,842 - INFO - Training Metrics...
2025-03-05 03:18:25,842 - INFO - {'loss': 0.7356397601274344, 'f1': 63.8111785635849, 'acc': 75.00112424777603, 'precision': 63.15553326603568, 'recall': 71.84108977826662, 'balanced acc': 71.84108977826662}
2025-03-05 03:18:25,842 - INFO - Validation Metrics... Inference time: 184.160
2025-03-05 03:18:25,842 - INFO - {'loss': 0.7327917580363117, 'f1': 60.10709244022245, 'acc': 69.89475527157066, 'precision': 61.511878684789444, 'recall': 60.03474742475987, 'balanced acc': 60.03474742475987}
2025-03-05 03:18:25,842 - INFO - ==================================================
2025-03-05 04:02:55,436 - INFO - Epoch: 65/100. Training time: 350.282
2025-03-05 04:02:55,439 - INFO - Training Metrics...
2025-03-05 04:02:55,439 - INFO - {'loss': 0.7443858919999539, 'f1': 60.87308959709623, 'acc': 72.39223063023287, 'precision': 62.16795537829748, 'recall': 70.892907935456, 'balanced acc': 70.892907935456}
2025-03-05 04:02:55,440 - INFO - Validation Metrics... Inference time: 186.800
2025-03-05 04:02:55,440 - INFO - {'loss': 0.7524952428250373, 'f1': 65.57938749724202, 'acc': 70.53856501065617, 'precision': 66.84620088261735, 'recall': 69.27572048882247, 'balanced acc': 69.27572048882247}
2025-03-05 04:02:55,440 - INFO - ==================================================
2025-03-05 04:47:23,263 - INFO - Epoch: 70/100. Training time: 345.127
2025-03-05 04:47:23,265 - INFO - Training Metrics...
2025-03-05 04:47:23,266 - INFO - {'loss': 0.7694151951716497, 'f1': 61.39716054234303, 'acc': 71.10961722429356, 'precision': 62.046705611575234, 'recall': 69.9356382666794, 'balanced acc': 69.9356382666794}
2025-03-05 04:47:23,266 - INFO - Validation Metrics... Inference time: 183.668
2025-03-05 04:47:23,266 - INFO - {'loss': 0.7674315843401076, 'f1': 63.60069752410479, 'acc': 69.45834207892018, 'precision': 65.08896609144814, 'recall': 66.76420244902287, 'balanced acc': 66.76420244902287}
2025-03-05 04:47:23,266 - INFO - ==================================================
2025-03-05 05:34:44,229 - INFO - Num classes: 3
2025-03-05 05:40:15,928 - INFO - Class weights: tensor([0.5161, 4.2842, 1.2065], device='cuda:0')
2025-03-05 05:40:15,936 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-03-05 05:40:15,936 - INFO - Using cuda device
2025-03-05 05:40:15,979 - INFO - Training parameters restored at epoch 70
2025-03-05 05:48:56,123 - INFO - Epoch: 70/100. Training time: 342.281
2025-03-05 05:48:56,125 - INFO - Training Metrics...
2025-03-05 05:48:56,126 - INFO - {'loss': 0.7383866172570449, 'f1': 62.208628035959194, 'acc': 72.88706573374543, 'precision': 62.69634177616938, 'recall': 72.24039289648996, 'balanced acc': 72.24039289648996}
2025-03-05 05:48:56,126 - INFO - Validation Metrics... Inference time: 177.853
2025-03-05 05:48:56,126 - INFO - {'loss': 0.7310434904279588, 'f1': 64.93378933093861, 'acc': 71.72527387141565, 'precision': 65.53570710287036, 'recall': 66.39942540705894, 'balanced acc': 66.39942540705894}
2025-03-05 05:48:56,126 - INFO - ==================================================
2025-03-05 06:32:57,922 - INFO - Epoch: 75/100. Training time: 345.703
2025-03-05 06:32:57,925 - INFO - Training Metrics...
2025-03-05 06:32:57,925 - INFO - {'loss': 0.7162232337853848, 'f1': 62.50340342196726, 'acc': 72.50994448260074, 'precision': 62.40392747889724, 'recall': 72.35773815853567, 'balanced acc': 72.35773815853567}
2025-03-05 06:32:57,925 - INFO - Validation Metrics... Inference time: 185.359
2025-03-05 06:32:57,925 - INFO - {'loss': 0.7909239311761493, 'f1': 63.84403126536016, 'acc': 68.11794634784295, 'precision': 65.83267776398894, 'recall': 68.78093010311758, 'balanced acc': 68.78093010311758}
2025-03-05 06:32:57,925 - INFO - ==================================================
2025-03-05 07:16:34,143 - INFO - Epoch: 80/100. Training time: 339.931
2025-03-05 07:16:34,145 - INFO - Training Metrics...
2025-03-05 07:16:34,146 - INFO - {'loss': 0.7347529744490598, 'f1': 62.595910149947144, 'acc': 75.0515365400968, 'precision': 63.21768410423048, 'recall': 71.06499668225118, 'balanced acc': 71.06499668225118}
2025-03-05 07:16:34,146 - INFO - Validation Metrics... Inference time: 180.351
2025-03-05 07:16:34,146 - INFO - {'loss': 0.7074175612835945, 'f1': 66.99984651218179, 'acc': 72.60745971648151, 'precision': 66.95810274687064, 'recall': 69.80370609984533, 'balanced acc': 69.80370609984533}
2025-03-05 07:16:34,146 - INFO - ==================================================
2025-03-05 07:59:38,510 - INFO - Epoch: 85/100. Training time: 336.836
2025-03-05 07:59:38,512 - INFO - Training Metrics...
2025-03-05 07:59:38,513 - INFO - {'loss': 0.6897648022725031, 'f1': 65.42221722881403, 'acc': 75.99925186420722, 'precision': 65.73317393933426, 'recall': 73.43968043911045, 'balanced acc': 73.43968043911045}
2025-03-05 07:59:38,513 - INFO - Validation Metrics... Inference time: 178.883
2025-03-05 07:59:38,513 - INFO - {'loss': 0.6926062861575356, 'f1': 64.8377060908771, 'acc': 72.16431074011884, 'precision': 67.82240464577552, 'recall': 66.53791749062088, 'balanced acc': 66.53791749062088}
2025-03-05 07:59:38,513 - INFO - ==================================================
2025-03-05 08:42:32,344 - INFO - Epoch: 90/100. Training time: 334.316
2025-03-05 08:42:32,347 - INFO - Training Metrics...
2025-03-05 08:42:32,348 - INFO - {'loss': 0.7602007343218877, 'f1': 62.956226206962874, 'acc': 73.98026894050889, 'precision': 63.39201086562216, 'recall': 71.98181414702182, 'balanced acc': 71.98181414702182}
2025-03-05 08:42:32,348 - INFO - Validation Metrics... Inference time: 177.974
2025-03-05 08:42:32,348 - INFO - {'loss': 0.7161793716346161, 'f1': 67.43572212707659, 'acc': 72.26350587703436, 'precision': 68.37093801475281, 'recall': 71.39990910497924, 'balanced acc': 71.39990910497924}
2025-03-05 08:42:32,348 - INFO - ==================================================
2025-03-05 09:25:14,274 - INFO - Epoch: 95/100. Training time: 332.208
2025-03-05 09:25:14,297 - INFO - Training Metrics...
2025-03-05 09:25:14,298 - INFO - {'loss': 0.7678240736325582, 'f1': 61.61879182170005, 'acc': 72.350863422292, 'precision': 62.62262716159393, 'recall': 70.73991361122137, 'balanced acc': 70.73991361122137}
2025-03-05 09:25:14,298 - INFO - Validation Metrics... Inference time: 180.117
2025-03-05 09:25:14,298 - INFO - {'loss': 0.7008513166934629, 'f1': 67.46305333457732, 'acc': 72.61956899057091, 'precision': 67.82995680344506, 'recall': 70.66523134914121, 'balanced acc': 70.66523134914121}
2025-03-05 09:25:14,298 - INFO - ==================================================
2025-03-05 10:03:50,247 - INFO - Final test metrics:
{'f1': 68.853651496769, 'acc': 74.16559533227847, 'precision': 68.12034286711345, 'recall': 70.42567377904425, 'balanced acc': 70.42567377904425}
2025-03-20 06:32:28,062 - INFO - Num classes: 3
2025-03-20 06:33:41,624 - INFO - Num classes: 3
2025-03-20 06:34:14,238 - INFO - Num classes: 3
2025-03-20 06:34:14,414 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-03-20 06:34:14,414 - INFO - Using cuda device
2025-03-20 06:34:14,512 - INFO - Training parameters restored at epoch 92
2025-03-20 06:34:14,633 - INFO - Initializing final Evaluations:

2025-03-20 06:37:26,304 - INFO - Final validation metrics:
{'f1': 68.853651496769, 'acc': 74.16559533227847, 'precision': 68.12034286711345, 'recall': 70.42567377904425, 'balanced acc': 70.42567377904425}
2025-03-20 06:39:23,498 - INFO - Num classes: 3
2025-03-20 06:39:23,661 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-03-20 06:39:23,661 - INFO - Using cuda device
2025-03-20 06:39:23,770 - INFO - Training parameters restored at epoch 92
2025-03-20 06:39:23,896 - INFO - Initializing final Evaluations:

2025-03-20 06:42:39,200 - INFO - Final validation metrics:
{'f1': 68.853651496769, 'acc': 74.16559533227847, 'precision': 68.12034286711345, 'recall': 70.42567377904425, 'balanced acc': 70.42567377904425}
2025-03-20 06:45:59,618 - INFO - Num classes: 3
2025-03-20 06:45:59,816 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-03-20 06:45:59,817 - INFO - Using cuda device
2025-03-20 06:45:59,916 - INFO - Training parameters restored at epoch 92
2025-03-20 06:46:00,012 - INFO - Initializing final Evaluations:

2025-03-20 06:49:31,827 - INFO - Final validation metrics:
{'f1': 68.853651496769, 'acc': 74.16559533227847, 'precision': 68.12034286711345, 'recall': 70.42567377904425, 'balanced acc': 70.42567377904425}
2025-03-20 06:51:44,541 - INFO - Final test pixel-wise classification metrics:
{'f1': 72.75507225039281, 'acc': 76.93651911019168, 'precision': 72.57057536422894, 'recall': 74.65817761898893, 'balanced acc': 74.65817761898893}
2025-03-20 06:53:30,792 - INFO - Num classes: 3
2025-03-20 06:53:30,973 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-03-20 06:53:30,973 - INFO - Using cuda device
2025-03-20 06:53:31,114 - INFO - Training parameters restored at epoch 92
2025-03-20 06:53:31,222 - INFO - Initializing final Evaluations:

2025-03-20 06:57:15,917 - INFO - Final validation metrics:
{'f1': 68.853651496769, 'acc': 74.16559533227847, 'precision': 68.12034286711345, 'recall': 70.42567377904425, 'balanced acc': 70.42567377904425}
2025-03-20 06:59:21,771 - INFO - Final test pixel-wise classification metrics:
{'f1': 72.75507225039281, 'acc': 76.93651911019168, 'precision': 72.57057536422894, 'recall': 74.65817761898893, 'balanced acc': 74.65817761898893}
2025-04-05 02:35:29,504 - INFO - Num classes: 3
2025-04-05 02:35:29,510 - INFO - Class weights: None
2025-04-05 02:35:29,630 - INFO - Model architecture:
Unet(
  (conv1): Sequential(
    (0): Conv2d(1080, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(5, 5))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv2): Sequential(
    (0): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(2, 2))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (conv3): Sequential(
    (0): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  )
  (upconv3): Sequential(
    (0): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(16, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv2): Sequential(
    (0): Conv2d(32, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(8, 8, kernel_size=(4, 4), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(8, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
  (upconv1): Sequential(
    (0): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): Conv2d(3, 3, kernel_size=(7, 7), stride=(1, 1), padding=(1, 1))
    (4): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (5): ReLU()
    (6): ConvTranspose2d(3, 3, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), output_padding=(1, 1))
  )
)
2025-04-05 02:35:29,630 - INFO - Using cuda device
2025-04-05 02:35:29,656 - INFO - Initializing final Evaluations:

